1. Field of the Invention
The present invention relates to a method of controlling the congestion of packets received by a packet switching apparatus and, more particularly, to a method of realizing packet communication with high flexibility and less loss on the basis of the priority order of packets suitably determined by the data types of the packets.
2. Description of the Related Art
Shown in FIG. 1 is an exemplary arrangement of a packet communication network, in which a plurality of packet switching apparatuses 11 to 1N are interconnected by respective communication lines 2. More specifically, these packet switching apparatuses 11 to 1N are connected through suitable communication lines to associated private branch exchanges (PBX) 31 to 3N and associated data terminal groups 41 to 4N, which terminal groups in turn include terminals 411 to 41(i-1), 421 to 42(j-1), . . . and 4N1 to 4N(k-1) respectively, as illustrated in FIG. 1. The private branch exchanges 31 to 3N are connected to associated telephone set groups 51 to 5N, which groups in turn include telephone sets 511 to 51l, 521 to 52m, . . . and 5N1 to 5Nn as shown in the drawing.
Explanation will now be made as to the specific arrangement and operation of the aforementioned packet switching apparatuses.
Each of the packet switching apparatuses, as shown in FIG. 1, comprises two sending and receiving line control units 101A and 101B, a switch unit 102 for performing packet transfer between the line control units 101A, 101B and corresponding nodes, and a low speed line adapter group 103 (which corresponds to the aforementioned nodes) connected to an associated one of the private branch exchanges 31 to 3N or an associated one of the data terminal groups 41 to 4N to perform switching from data to packet or from packet to data between the switch unit 102 and the associated one of the private branch exchanges 31 to 3N and data terminal groups 41 to 4N. The low speed line adapter group 103 includes low speed line adapters 1031 to 103i, 1031 to 103j, . . . or 1031 to 103k.
The sending line control unit 101A, as shown in FIG. 2, has a receiving part 1011 for receiving and processing packets PK received from the switch unit 102, a queuing part 1012 (made up of a buffer memory or the like) for temporarily holding the received packets PK sequentially, and a sending part 1013 for extracting the temporarily held packets PK in the queuing order and sending them to the associated communication line 2. The receiving line control unit 101B, on the other hand, has, as shown in FIG. 3, a receiving part 1014 for receiving and processing packets PK received from the associated communication line 2, a queuing part 1015 for temporarily holding the received packets PK sequentially, and a sending part 1016 for extracting the temporarily held packets PK in the queuing order and sending them to the associated switch unit 102.
The switch unit 102, when performing the packet transfer between the line control units 101A, 101B and the corresponding nodes, is arranged so that, with respect to the packets transmitted and received from the node side, the switch unit sends the received packets to the associated sending line control unit 101A, utilizing an idle transmission time or during every time period when the terminal connected to its own station (packet switching apparatus) comes to its turn in the sending order previously allocated to the terminal. With respect to the packets transmitted and received from the receiving line control unit 101B, the switch unit collates the destination addresses of the received packets and in the presence of the corresponding address, provides the corresponding packet to the corresponding node (the low speed line adapter group 103) and in the absence of such address, transfers the corresponding packet as it is to the sending line control unit 101A within its own packet switching apparatus.
The low speed line adapters 103, which correspond to the nodes of the respective packet switching apparatuses and to which particular addresses are respectively allocated, are arranged so as to perform a switching operation. More specifically each low speed line adapter 103 is arranged so that, with respect to the packet received from the switch unit 102, the adapter extracts a data part from the received packet and outputs the extracted data to the private branch exchange or data terminal connected thereto (switching from packet to data). With respect to the data including destination information) received from the private branch exchange or data terminal connected to the adapter, the adapter arranges the received data in a predetermined format to prepare a packet and sends the formatted packet to the associated switch unit 102 (within its own packet switching apparatus (switching from data to packet).
The packet switching apparatuses 11 to 1N, which respectively comprise the line control units 101A and 101B, the switch units 102 and the low speed line adapters 103 and which are interconnected by means of the associated communication lines 2 to form a data link, will execute the packet switching operation in the following manner. More specifically, in these packet switching apparatuses 11 to 1N, the receiving line control unit 101B first receives the packets sent from the associated communication line 2, the switch unit 102 extracts sequentially the packets one by one from the line control unit 101B and retrieves the extracted packets on the basis of their destination addresses to determine whether or not each packet is related to its own station (packet switching apparatus). If the packet is related to its own station, the switch unit 102 provides the extracted packet to the associated low speed line adapter corresponding to the destination address of the station and the associated adapter sends data contents included in the packet in question to the associated terminal (private branch exchange or data terminal). When the switch unit 102 decides that the extracted packet is not related to its own station, the switch unit sends the same packet to the associated sending line control unit 101A from which the packet is further transferred to the associated communication line 2.
With respect to the data sent from the terminals (private branch exchanges or data terminals) connected to the packet switching apparatuses 11 to 1N, the data is arranged at the associated low speed line adapter into a packet form (including the destination address), the prepared packet is sent under control of the associated switch unit 102 to its own sending line control unit 101A utilizing an idle transmission time or during every time period when the terminal in question comes to its turn in the preallocated sending order. The line control unit 101A temporarily holds the same packet, sequentially extracts the held packets one by one and sends them out to the associated communication line 2.
Connected as the aforementioned terminals to the private branch exchanges 31 to 3N are such groups of telephone sets 51 to 5N as already explained earlier, voice signals from which telephone sets are converted into suitably coded data (which will be referred to as voice data, hereinafter). That is, in the packet communication network shown in FIG. 1, roughly two sorts of packets, that is, terminal data packets and voice data packets are communicated and transferred between the packet switching apparatuses 11 to 1N. The terminal data packet is obtained by arranging into a packet form the data (hereinafter, which will be referred to as terminal data in distinction from the voice data) transferred between the data terminal groups 41 to 4N for various control, calculations, data communication and the like, while, the voice data packet is obtained by arranging the voice data into a packet form.
Since the capacity of the queuing part in the line control part in each of the packet switching apparatuses is generally restricted, each time such excessive packets as causes the overflow of the queuing part are applied to the queuing part, the overflow packets are discarded to keep the queuing part in its normal state. In this connection, if the discarded packets correspond to the voice data packets, then the loss of such voice data packets will incur a disadvantage that there occurs a break in the reproduced voice but will not affect, as a whole, the communication network to a large extent. When the discarded packets correspond to the terminal data packets, however, the loss of the terminal data packets will provide a fatal defect to the communication network. For this reason, the prior art structure of each packet has been such that, as shown in FIG. 4, a priority data PRO is added and when the queue of these packets are converged, these converged packets are rearranged according to the priority order of the packets indicated by the added priority data PRO.
For example, under such a condition that, in the (sending) line control unit 101A of one of the packet switching apparatuses, packets PK1 (PRO=1), PK2 (PRO=2), PK3 (PRO=2) and PK4 (PRO=3) are arranged in the priority order (assuming that the smaller the value of priority data PRO is the higher priority) and are temporarily stored in the queuing part 1012, if a new packet PK5 added with a priority data "PRO=1" of the highest priority is input to the line control unit 101A as shown in FIG. 5, then the unit 101A collates the priority data of all the packets PK1 to PK5 and rearranges these packets on the basis of the priority order of the packet priority data to temporarily accept and hold the packets (including the packet PK5) in the queuing part 1012. Assuming for the brevity of explanation that the queuing part 1012 has a packet holding capacity (the maximum number of packets capable of holding therein) of "4", then the line control unit 101A performs a congestion control over these packets in such a manner as to discard through the above rearranging operation the packet PK4 (PRO=3) added with the priority data of the lowest priority among the packets PK1 to PK5. As a result, the packets PK1, PK2, PK3 and PK5 are rearranged as shown in FIG. 6 according to the priority order in the order of the packets PK1 (PRO=1), PK5 (PRO=1), PK2 (PRO=2) and PK3 (PRO=2), and are held in this order in the queuing part 1012. Accordingly, in this case, such an undesirable situation as the terminal data packet is discarded can be naturally eliminated by always adding a high priority data such as "PRO=1" to the terminal data packet.
In this way, according to the above congestion control method, such important data as the terminal data and the like can be reliably and effectively protected. However, this congestion control method, as the great strain under the employment of such important data protection feature, also inevitably involves such a new disadvantage that follows.
That is, according to the above congestion control method, since the priority order for the respective packets is determined based on the allowance for the data discard at the time of the congestion, data having a strong demand for time immediateness or real time but allowable for the data discard such as the voice data will have a priority lower than data having a not so strong demand for real time but not allowable for the data discard such as the terminal data. For this reason, at the time of the congestion, the voice data packet is rearranged as located after the terminal data packet so that the voice data packet is always located in the latter part of the queue and, in addition to it, the overflow the of queue causes the voice data packet located in the rear part of the queue to be preferentially discarded. This results in that the voice data, though having a strong immediateness or real time demand, will be delayed in the transmission and in certain cases, be discarded. The delay of the transmission of the voice data and the preferential discard of the voice data will mean to produce an unnatural reproduced voice, leading to remarkable deterioration of the speech quality. This, of course, cannot satisfy the intended communication characteristics of the packet communication network which realizes the integration or generalization of a plurality of types of media such as telephone sets and data terminals.